In addition to NAND-type flash memory, NOR-type flash memory, and the like, AG-AND-type flash memory, in which an assist gate is arranged adjacent to a floating gate, has been widely used as memory of portable equipment such as a digital camera.
FIG. 5 shows a conceptual configuration of AG-AND-type flash memory (hereinafter simply called AG-AND flash memory). A single block is formed from a plurality of pages (two pages), each of which is a unit for reading and writing data (each page is formed from a plurality of sectors), and a single cluster is formed from a plurality of blocks (four blocks). Reading and writing of data can be executed on a per-page basis, and deletion of data can be executed on a per-block basis. The AG-AND flash memory has a plurality of banks (e.g., four banks). The banks can be subjected to parallel processing access, and access can be made simultaneously to the banks.
Each of the pages is formatted into a data area and a control area. The control area stores address information, a physical-logical address correspondence table, generation information, and management information about presence/absence of an invalid flag, all of which pertain to all blocks belonging to a certain cluster in the control area. The reason for this is that, in AND-type flash memory, the physical-logical address correspondence table includes a maximum of several percentages of unavailable areas. An invalid flag in the unavailable area must be set to make a logical address such that a physical address of that area is not used. For instance, the physical-logical address correspondence table is a table where, when a physical address 0002h is unavailable, the next physical address 0003h is taken as a logical address 0002h.
As shown in FIG. 6, when all blocks belonging to a certain cluster exist across a plurality of banks (bank 0, bank 1, bank 2, and bank 3), management information 100 about the cluster is stored in a specific location (a control area) of a specific page (the first page) of a leading bank (bank 0). When data are read from a certain cluster, access is first made to bank 0, to thus read management information and acquire address information about all the blocks belonging to the cluster. In accordance with the thus-acquired address information, reading is performed simultaneously in relation to all the banks, whereby data are acquired.
Upon start-up of portable equipment such as a digital camera or the like, management information about all clusters must be read and acquired. However, according to a conventional reading scheme, reading management information about all clusters entails consumption of much time, thereby contributing to an increase in the time required to initialize a system.
Conventionally, as shown in FIG. 6, the management information about a cluster is stored in a specific page of a leading bank (bank 0), and in a single operation only one page from a certain bank can be read. For this reason, management information about cluster 0 is read through first reading operation; management information about cluster 1 is read through second reading operation; and management information about cluster 2 is read through third reading operation. Thus, reading operations must be performed in equal number to the clusters, thereby raising a problem of an increase in processing time as the number of clusters increases.
The present invention provides a device capable of quickly reading data such as management information about clusters.